In recent years, an MRAM (Magnetoresistive Random Access Memory) using an MTJ (Magnetic Tunnel Junction) element has received a great deal of attention. It can operate at a high speed and is therefore usable as a working memory, like a DRAM. In addition, the MRAM is highly advantageous in making a system power-thrifty and faster because it is a nonvolatile memory.
The MTJ element includes a reference layer made of a ferromagnetic material having a predetermined magnetization direction, a storage layer made of a ferromagnetic material having a variable magnetization direction, and a spacer layer sandwiched between them. The tunnel resistance between the reference layer and the storage layer takes a high resistance state or a low resistance state depending on the relative magnetization arrangement of the two ferromagnetic layers. For example, pieces of information (data) “0” and “1” are associated with the resistance states, respectively, thereby storing the information. Normally, the low resistance state is set when the magnetization arrangement is parallel, and the high resistance state is set when the magnetization arrangement is antiparallel. Note that pieces of information (data) “1” and “0” may be associated with the low resistance state and the high resistance state, respectively.
In general, an MRAM (to be also referred to as a magnetic memory hereinafter) includes at least one memory cell. The memory cell includes an MTJ element serving as a memory element, and a select transistor configured to select the MTJ element.
As a data write method, there exists a spin transfer torque method which changes the magnetization direction of the storage layer by a spin transfer torque. Magnetization reversal is caused by supplying a current with a predetermined value or more to the MTJ element. The current flowing direction is changed to change the storage layer and the reference layer from the parallel magnetization state to the antiparallel state or from the antiparallel state to the parallel state, thereby writing data. This MRAM is particularly called a spin transfer torque MRAM. To make the spin transfer torque MRAM more competitive than other memories such as a flash memory and a DRAM, it is necessary to reduce the area of one memory cell and thus reduce the area of the entire chip. To do this, it is most important to reduce the write current value. Generally, when the write current value decreases, the memory holding time shortens. That is, they have a tradeoff relationship. The memory holding time is largely affected by the thermal stability of the storage layer. Hence, reducing the write current while maintaining the thermal stability of the storage layer is the key to the technique.
In addition, to make the spin transfer torque MRAM have superiority over other memories, not only the above-described reduction of the write current but also suppressing the write, read, and memory holding error rates are very important.
Magnetization reversal caused by a spin transfer torque is a Poisson process that occurs with the aid of thermal energy of room temperature, that is, phonons. This is substantially a probabilistic phenomenon. A write current Ic of magnetization reversal has an amount that substantially fluctuates in each attempt due to the influence of phonons. The fluctuation width depends on the magnetization reversal process or the pulse width of a given current. The probability of magnetization reversal of the MTJ element caused by the spin transfer torque can supposedly be expressed as a simple thermal activation process represented by
                              P          ⁡                      (            τ            )                          =                  1          -                      exp            ⁡                          [                                                                    -                    τ                                    /                                      τ                    0                                                  ⁢                exp                ⁢                                  {                                                            -                                                                        Δ                          ⁢                                                                                                          ⁢                                                      E                            a                                                                                                                                k                            B                                                    ⁢                          T                                                                                      ⁢                                          (                                              1                        -                                                  I                                                      I                                                          c                              ⁢                                                                                                                          ⁢                              0                                                                                                                          )                                                        }                                            ]                                                          (        1        )            where τ (sec) is the pulse width of the current, τ0 is an amount called an attempt time which is normally 1 (sec), ΔEa is the anisotropy energy of the storage layer, whose ratio ΔEa/kBT to energy kBT of the phonons represents the thermal stability of the storage layer, I (A) is the magnitude of the supplied current, and Ic0 (A) is the reversal current at absolute zero.
In data read, data is discriminated using the resistance difference between the high resistance state and the low resistance state of the MTJ element. Hence, in the data read as well, the current (read current) is directly supplied to the MTJ element, as in the data write. In the spin transfer torque MRAM, the read current is normally set to be much smaller than the write current. However, as is apparent from equation (1), the reversal threshold fluctuates in each read attempt. For this reason, in the read performed, for example, 1015 times, the probability that the magnetization reversal erroneously occurs cannot be neglected even if a small read current is supplied. To suppress the read error, it is necessary to suppress the fluctuation of the threshold.
The threshold of the write current also varies in a similar manner. Hence, the set value of the write current needs to be larger than an average threshold. It is therefore necessary to suppress the fluctuation of the threshold to make the write current smaller and prevent write errors.
As can be seen from equation (1), the fluctuation of the reversal threshold becomes smaller as the anisotropy energy ΔEa of the storage layer increases. The memory holding time becomes longer as the anisotropy energy ΔEa of the storage layer increases. Normally, the anisotropy energy of the storage layer and a write current Ic0 at absolute zero are known to have a positive correlation. In particular, they have a proportional relationship when the storage layer has a perpendicular magnetic anisotropy. Hence, when the anisotropy energy of the storage layer is simply increased, the write current becomes large, although the fluctuation of the reversal threshold can be made smaller. To reduce the error rates and reduce the write current, reducing the write current while maintaining the thermal stability of the storage layer is a very important technical challenge.
As described above, since the magnetization reversal of a magnetic body is a probabilistic phenomenon, read errors, write errors, memory holding errors, and the like occur. It is possible to provide, in the nonvolatile memory, a circuit that corrects errors even if the above-described errors have occurred in a small amount. This processing is done using a method called ECC (Error Correction Coding). However, to prevent the operation errors of the MRAM, it is important to understand the probabilistic phenomenon of magnetization reversal of a magnetic body and control it to reduce error rates.